home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_mailbox.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  4KB  |  119 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. import mailbox
  5. import os
  6. import time
  7. import unittest
  8. from test import test_support
  9.  
  10. try:
  11.     os.unlink(test_support.TESTFN)
  12. except os.error:
  13.     pass
  14.  
  15. FROM_ = 'From some.body@dummy.domain  Sat Jul 24 13:43:35 2004\n'
  16. DUMMY_MESSAGE = 'From: some.body@dummy.domain\nTo: me@my.domain\nSubject: Simple Test\n\nThis is a dummy message.\n'
  17.  
  18. class MaildirTestCase(unittest.TestCase):
  19.     
  20.     def setUp(self):
  21.         self._dir = test_support.TESTFN
  22.         os.mkdir(self._dir)
  23.         os.mkdir(os.path.join(self._dir, 'cur'))
  24.         os.mkdir(os.path.join(self._dir, 'tmp'))
  25.         os.mkdir(os.path.join(self._dir, 'new'))
  26.         self._counter = 1
  27.         self._msgfiles = []
  28.  
  29.     
  30.     def tearDown(self):
  31.         map(os.unlink, self._msgfiles)
  32.         os.rmdir(os.path.join(self._dir, 'cur'))
  33.         os.rmdir(os.path.join(self._dir, 'tmp'))
  34.         os.rmdir(os.path.join(self._dir, 'new'))
  35.         os.rmdir(self._dir)
  36.  
  37.     
  38.     def createMessage(self, dir, mbox = False):
  39.         t = int(time.time() % 1000000)
  40.         pid = self._counter
  41.         self._counter += 1
  42.         filename = os.extsep.join((str(t), str(pid), 'myhostname', 'mydomain'))
  43.         tmpname = os.path.join(self._dir, 'tmp', filename)
  44.         newname = os.path.join(self._dir, dir, filename)
  45.         fp = open(tmpname, 'w')
  46.         self._msgfiles.append(tmpname)
  47.         if mbox:
  48.             fp.write(FROM_)
  49.         
  50.         fp.write(DUMMY_MESSAGE)
  51.         fp.close()
  52.         if hasattr(os, 'link'):
  53.             os.link(tmpname, newname)
  54.         else:
  55.             fp = open(newname, 'w')
  56.             fp.write(DUMMY_MESSAGE)
  57.             fp.close()
  58.         self._msgfiles.append(newname)
  59.         return tmpname
  60.  
  61.     
  62.     def test_empty_maildir(self):
  63.         '''Test an empty maildir mailbox'''
  64.         self.mbox = mailbox.Maildir(test_support.TESTFN)
  65.         self.assert_(hasattr(self.mbox, 'boxes'))
  66.         self.assert_(len(self.mbox.boxes) == 0)
  67.         self.assert_(self.mbox.next() is None)
  68.         self.assert_(self.mbox.next() is None)
  69.  
  70.     
  71.     def test_nonempty_maildir_cur(self):
  72.         self.createMessage('cur')
  73.         self.mbox = mailbox.Maildir(test_support.TESTFN)
  74.         self.assert_(len(self.mbox.boxes) == 1)
  75.         self.assert_(self.mbox.next() is not None)
  76.         self.assert_(self.mbox.next() is None)
  77.         self.assert_(self.mbox.next() is None)
  78.  
  79.     
  80.     def test_nonempty_maildir_new(self):
  81.         self.createMessage('new')
  82.         self.mbox = mailbox.Maildir(test_support.TESTFN)
  83.         self.assert_(len(self.mbox.boxes) == 1)
  84.         self.assert_(self.mbox.next() is not None)
  85.         self.assert_(self.mbox.next() is None)
  86.         self.assert_(self.mbox.next() is None)
  87.  
  88.     
  89.     def test_nonempty_maildir_both(self):
  90.         self.createMessage('cur')
  91.         self.createMessage('new')
  92.         self.mbox = mailbox.Maildir(test_support.TESTFN)
  93.         self.assert_(len(self.mbox.boxes) == 2)
  94.         self.assert_(self.mbox.next() is not None)
  95.         self.assert_(self.mbox.next() is not None)
  96.         self.assert_(self.mbox.next() is None)
  97.         self.assert_(self.mbox.next() is None)
  98.  
  99.     
  100.     def test_unix_mbox(self):
  101.         import email.Parser as email
  102.         fname = self.createMessage('cur', True)
  103.         n = 0
  104.         for msg in mailbox.PortableUnixMailbox(open(fname), email.Parser.Parser().parse):
  105.             n += 1
  106.             self.assertEqual(msg['subject'], 'Simple Test')
  107.             self.assertEqual(len(str(msg)), len(FROM_) + len(DUMMY_MESSAGE))
  108.         
  109.         self.assertEqual(n, 1)
  110.  
  111.  
  112.  
  113. def test_main():
  114.     test_support.run_unittest(MaildirTestCase)
  115.  
  116. if __name__ == '__main__':
  117.     test_main()
  118.  
  119.